package utils

import "regexp"

//email verify 邮箱验证
func VerifyEmailFormat(email string) bool {
	//pattern := `\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*` //匹配电子邮箱
	pattern := `^[0-9a-z][_.0-9a-z-]{0,31}@([0-9a-z][0-9a-z-]{0,30}[0-9a-z]\.){1,4}[a-z]{2,4}$`
	reg := regexp.MustCompile(pattern)
	return reg.MatchString(email)
}

//mobile verify 手机号验证
func VerifyMobileFormat(mobileNum string) bool {
	regular := "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$"
	reg := regexp.MustCompile(regular)
	return reg.MatchString(mobileNum)
}

// checkidcard 检验身份证
func Checkidcard(card string) bool {
	//18位身份证 ^(\d{17})([0-9]|x)$
	// 匹配规则
	// (^\d{15}$) 15位身份证
	// (^\d{18}$) 18位身份证
	// (^\d{17}(\d|x|x)$) 18位身份证 最后一位为x的用户
	regular := "(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|x|x)$)"
	// 正则调用规则
	reg := regexp.MustCompile(regular)
	// 返回 matchstring 是否匹配
	return reg.MatchString(card)
}
